namespace CSharpPro._1030;

public abstract class UserTest1
{
    // 定义三个抽象方法
    public abstract void M1();
    public abstract void M2();
    public abstract void M3();
}

// 子类继承并实现抽象方法
public class UserTest1Child : UserTest1
{
    // 重写M1方法
    public override void M1()
    {
        Console.WriteLine("子类实现的M1方法");
    }

    // 重写M2方法
    public override void M2()
    {
        Console.WriteLine("子类实现的M2方法");
    }

    // 重写M3方法
    public override void M3()
    {
        Console.WriteLine("子类实现的M3方法");
    }
}

// 测试类
class Program
{
    static void main(string[] args)
    {
        // 实例化子类对象（抽象类不能直接实例化）
        UserTest1 test1 = new UserTest1Child();
        
        // 调用重写后的方法
        test1.M1();
        test1.M2();
        test1.M3();
    }
}
